import type { ethers } from "ethers"

type PublicType = Record<"currMiners" | "currPowerOutput" | "facilityIndex" |
  "maxMiners" | "totalPowerOutput" | "cost" | "hashrate" | "id" | "minerIndex" |
  "powerConsumption" | "x" | "y", ethers.BigNumber> & { "inProduction": boolean }

export type MinerPosition = Pick<PublicType,
  'currMiners' | 'currPowerOutput' | 'facilityIndex' | 'maxMiners' |
  'totalPowerOutput' | 'x' | 'y'>

export type Miner = Pick<PublicType,
  'cost' | 'hashrate' | 'id' | 'minerIndex' | 'powerConsumption' | 'x' | 'y' | 'inProduction'>

export type LandType = Pick<PublicType,
  'cost' | 'maxMiners' | 'totalPowerOutput' | 'x' | 'y' | 'inProduction'>